finally:
self.watchThread = None
- def introduceDomain(self, dom, page, evtchn, path):
- try:
- self.getxs().introduce_domain(dom, page, evtchn.port1, path)
- except RuntimeError, ex:
- if ex.args[0] == errno.EISCONN:
- return None
- else:
- raise
-
- def releaseDomain(self, dom):
- self.getxs().release_domain(dom)
-
def getXenStore():
global xenstore
try:
def ls(self):
return self.store.ls(self.path)
- def introduceDomain(self, dom, page, evtchn, path):
- self.store.introduceDomain(dom, page, evtchn, path)
-
- def releaseDomain(self, dom):
- self.store.releaseDomain(dom)
-
def watch(self, fn, path=""):
"""Watch a path for changes. The path is relative
to the node and defaults to the node itself.
def getPath(self):
return self.__db__ and self.__db__.relPath()
- def introduceDomain(self, dom, page, evtchn, path=None):
- db = self.__db__
- if path is None:
- path = db.relPath()
- log.info("DBMap>introduceDomain> %d %d %s %s" %(dom, page, evtchn, path))
- try:
- db.introduceDomain(dom, page, evtchn, path)
- except Exception, ex:
- import traceback
- traceback.print_exc()
- log.info("DBMap>introduceDomain> %s" %ex)
- pass # todo: don't ignore
-
- def releaseDomain(self, dom):
- db = self.__db__
- log.info("DBMap>releaseDomain> %d" %dom)
- try:
- db.releaseDomain(dom)
- except Exception, ex:
- import traceback
- traceback.print_exc()
- log.info("DBMap>releaseDomain> %s" %ex)
- pass # todo: don't ignore
-
def watch(self, fn, path=""):
return self.__db__.watch(fn, path=path)